#ifndef JCI_HANDLER_DEFINES_H
#define JCI_HANDLER_DEFINES_H


#define DEBUG "-debug="
#define MAX_FIELD_LENGTH 255
#define MAX_ICO_ARRAY_ATTRIBUTE_TOTAL_LENGTH 5000
#define MAX_PRINTLINE_LENGTH 2000
#define MAX_PATH_LENGTH 2000
#define MAX_ARGUMENT_LENGTH 400
#define MAX_PARAMNAME_LENGTH 50
#define MAX_FILE_EXT_LENGTH 10
#define DETAILLOG true
#define TEXT_FORMAT "TEXT"
#define BINARY_FORMAT "BINARY"
#define ATTRIBUTE_SPLITTER ","

#define FLOAT_MIN_DIFF_MAX 0.000001
#define FLOAT_MIN_DIFF_MIN -0.000001
#define PARAM_USER "-u="
#define PARAM_PASSWORD "-p="
#define PARAM_GROUP "-g="
#define PARAM_DIR "-dir="
#define PARAM_FILE "-file="
#define PARAM_OWNER "-owner="
#define PARAM_OWNING_GROUP "-owning_group="
#define PARAM_DEBUG "-debug="
#define PARAM_TYPE "-type="
#define PARAM_NAME "-name="
#define PARAM_OVERWRITE "-overwrite="
#define PARAM_OS "-os="
#define PARAM_DATASETTYPE "-datasettype="
#define PARAM_TASK_DATASETTYPE "-taskdatasettype="
#define PARAM_REPORT_DATASETTYPE "-reportdatasettype="
#define PARAM_FOLDERNAME "-foldername="
#define PARAM_OBJECT_TYPE "-object_type="
#define PARAM_TARGET "-target="
#define PARAM_USER_NAME "-user="
#define PARAM_RELATION "-relation="
#define PARAM_REVERSEREL "-reverseRel="
#define PARAM_NUM "-num="
#define PARAM_DEPTH "-depth="
#define PARAM_REV_RULE "-rev_rule="
#define PARAM_STATUS_ALLOW "-status_allow="
#define PARAM_STATUS_DISALLOW "-status_disallow="
#define PARAM_INCLUDE_TYPE "-include_type="
#define PARAM_EXCLUDE_TYPE "-exclude_type="
#define PARAM_ATT_TYPE "-att_type="
#define PARAM_DATASET_NAME "-dataset_name="
#define PARAM_PROPERTY "-property="
#define PARAM_LOV "-lov="
#define PARAM_ASSIGNEE "-assignee="
#define PARAM_SUBJECT "-subject="
#define PARAM_COMMENTS "-comments="
#define PARAM_URL "-url="
#define PARAM_ATTACHMENT "-attachment="

//class define
#define CLASS_DATASET "Dataset"
#define CLASS_FOLDER "Folder"
#define CLASS_ITEM "Item"
#define CLASS_ITEM_REV "ItemRevision"
#define CLASS_FORM "Form"

//item and item revision type define
#define ITEM_REV_TYPE_F6_DRAWINGREVISION "F6_DrawingRevision"

#define TYPE_WORKSPACE_OBJECT					"WorkspaceObject"
#define TYPE_CHANGESPECIALIST1					"ChangeSpecialist1"
#define TYPE_DATASET							"Dataset"
#define CHANGE_SPECIALIST1					    "$CHANGE_SPECIALIST1"
#define CHANGE_IMPLEMENTATION_BOARD			"$CHANGE_IMPLEMENTATION_BOARD"
#define CHANGE_REVIEW_BOARD					"$CHANGE_REVIEW_BOARD"
#define TYPE_JOB								"EPMJob"
#define TYPE_TASK								"EPMTask"
#define TYPE_ITEM_REVISION						"ItemRevision"
#define TYPE_AA_TEST_NAME						"object_name"
#define PROCESSOWNER                           "$PROCESSOWNER"
#define TYPE_CHANGE_NOTICE_REVISION			"ChangeNoticeRevision"
#define TYPE_PDF								"PDF"
#define CHANGE_SPECIALIST					    "ChangeSpecialist1"
#define APPROVER								"$APPROVER"
#define CHANGE_IMP_BOARD						"ChangeImplementationBoard"
#define CHANGE_REV_BOARD					    "ChangeReviewBoard"
#define USER_ROLE_DBA							"DBA"
#define TYPE_REQUESTOR							"Requestor"
#define TYPE_PROBLEMREPORT_REVISON				"ProblemReportRevision"
#define REQUESTOR								"$REQUESTOR"
#define TYPE_PDF_Reference						"PDF_Reference"
#define TYPE_DR_REVISION						"Ng4_DesignReqRevision"
#define TYPE_DA_REVISION                       "Ng4_DARevision"
#define TYPE_CN_REVISION						"Ng4_ChangeNoticeRevision"
#define TYPE_CHANGEREQ_REVISION				"Ng4_CRRevision"
#define TYPE_PR_REVISION						"Ng4_PRRevision"
#define TYPE_EPR_REVISION						"Ng4_EPRRevision"
#define TYPE_ROC_REVISION						"Ng4_ROCRevision"
#define TYPE_NONERPDESIGN			            "Non-ERP Design"
#define TYPE_ERPDESIGN                         "ERP Design"
#define TYPE_NG4_PART							"Ng4_Part"
#define TYPE_NG4_PART_REVISION					"Ng4_PartRevision"
#define TYPE_PART                              "Part"
#define TYPE_PROGRAM_REVISION                  "Ng4_MasterPrgRevision"
#define TYPE_NG4_PWP_REVISION					"Ng4_PWPRevision"
#define PREF_NAME_ATTRIBUTE                    "preference_name"
#define PREF_MAP_READINESSPASS_ATTRIBUTE    "ReadinessPassAttribute"
#define PREF_REVISION_RULE						"TC_config_rule_name"
#define PREF_MAP_PERFORM_WHERE_USED          "PerformWhereUsed().FindAllParentItems()"
#define PREF_MAP_PERFORM_WHERE_REFERENCED    "PerformWhereReferenced().FindAttachedRelations()"
#define PREF_MAP_PERFORM_PRIMARYDESIGNDR	 "PerformWhereReferenced().FindPrimaryDesignAndDwg()"
#define PREF_MAP_REVISION_RULE               "PerformWhereUsed().FindAllParentItems().GetRevisionRule()"
#define PREF_MAP_LATESTSEQUENCE              "FetchLatestRevisionSequence"
#define PREF_MAP_RESTRICT					 "RestrictToParentPartsEndItemsPWPs"
#define PREF_MAP_SKIPMINOR_REVISIONS		 "SkipMinorRevisions"
#define PREF_MAP_PRIMARY_DESIGN				 "IsPrimaryDesignFetchNeeded"
#define PREF_MAP_ISTOPDOWN                   "IsTopDownNeeded"
#define PREF_FILTER_ITEMS                    "FilterItems().FilterItemsByType()"
#define PREF_POPULATE_IMPACTED_ITEMS         "PopulateItemsToFolder()"
#define PREF_POPULATE_SOLUTION_ITEMS         "PopulateItemsToSolutionFolder()"
#define PREF_EPR_IMPACT_ANALYSIS             "PerformImpactAnalysis_Pref_EPR"
#define PREF_DR_IMPACT_ANALYSIS              "PerformImpactAnalysis_Pref_DR"
#define PREF_DRNX_IMPACT_ANALYSIS            "PerformImpactAnalysis_Pref_DRNX"
#define PREF_PR_IMPACT_ANALYSIS              "PerformImpactAnalysis_Pref_PR"
#define PS_WHERE_USED_ALL                    "where_used_all"
#define PS_WHERE_USED_CONFIGURED             "where_used_configured"
#define PS_WHERE_USED_PRECISE                "where_used_precise"
#define IMPACTEDITEMS_RELATION               "CMHasImpactedItem"
#define PART_DESIGN_RELATION                 "GetRepresentedDesigns"
#define IS_TOP_DOWN_ATTRIBUTE                "ng4_isTopDown"
#define PROGRAM_END_ITEM_RELATION            "Ng4_EndItemsPF"


/* Preference Function Names */
#define TRAVERSE_RELATION_FUNCNAME           "TraverseRelation().FindOtherSideObjects()"

//relation name define
//#define XXX_rtype "YYY"
#define F6_DescribedBy_rtype "F6_DescribedBy"

//lov name define
//#define LOV_XXX "YYY"


//property name define
//#define PROP_XXX "YYY"


//dataset reference type define
//#define REFERENCE_EXCEL "excel"

//file extension name define
//#define EXT_XLS ".xls"



//status define
#define STATUS_CONTAINS_A 0


#define GROUP_DBA "dba"
#define ROLE_DBA "DBA"
#define USER_INFODBA "infodba"

#define DATE_TO_STRING_FORMAT "%Y-%m-%d"


//size defines
#define MAX_UID_LENGTH 32
#define MAX_LINE_LENGTH 65535

//user errors define
#define ERROR_PREFERENCE_NOT_FOUND (EMH_USER_error_base + 21)
#define ERROR_PREFERENCE_DATA_LACK (EMH_USER_error_base + 22)
#define ERROR_PREFERENCE_DIR_CAN_NOT_ACCESS (EMH_USER_error_base + 23)
#define ERROR_DB_TRANSFER_FAILED (EMH_USER_error_base + 41)
#define ERROR_QUERY_NOT_FOUND (EMH_USER_error_base + 61)
#define ERROR_ONLY_DBA_CAN_CREATE_RELATION (EMH_USER_error_base + 101)
#define ERROR_EXE_FILE_NOT_FOUND (EMH_USER_error_base + 107)
#define ERROR_REV_RULE_NOT_FOUND (EMH_USER_error_base + 208)
#define ERROR_FOLDER_NOT_FOUND (EMH_USER_error_base + 210)
#define ERROR_USER_NOT_FOUND (EMH_USER_error_base + 211)
#define ERROR_CANNOT_CANCEL (EMH_USER_error_base + 212)
#define ERROR_NO_JT_MODEL (EMH_USER_error_base + 217)
#define ERROR_SIGNER_LACK (EMH_USER_error_base + 218)
#define ERROR_CHECK_OBJ_UPDATABLE (EMH_USER_error_base + 219)
#define ERROR_CHECK_NUM_NOT_EQUAL (EMH_USER_error_base + 220)
#define ERROR_NOT_LATEST (EMH_USER_error_base + 223)
#define ERROR_DEL_DEPT_LACK (EMH_USER_error_base + 225)
#define ERROR_DATASET_NAME_LACK (EMH_USER_error_base + 226)
#define ERROR_ATTACHMENT_NOT_FOUND (EMH_USER_error_base + 302)
#define ERROR_RELATION_NOT_FOUND (EMH_USER_error_base + 350)
#define ERROR_PROPERTY_VALUE_WRONG (EMH_USER_error_base + 358)

/* ACL */
#define ACL_NAME_OBJECT	"OBJECT"

/* Size */
#define ERROR_MSG_SIZE							200
#define BUFFER_MSG_SIZE						1500
#define PROP_NAME_SIZE							40
#define FORM_NAME_SIZE							128
#define FILE_PATH_SIZE							512
#define VARIANT_COUNT_SIZE						2
#define MAXMIMUM_VARIANT_COUNT					99
#define BUFFER_SIZE							129
#define TEMP_ARRAY_SIZE						200
#define BUFFER_ID								20
#define REVID_SIZE								3
#define ANC_COUNT								90

#define FIRST_REV_ALPHA							"A"
#define CONST_REV_ONE							"001"
#define FIRST_VARIANT							"01"


/*Previleges*/
#define WRITE_PRIVILEGE						"WRITE"
#define READ_PRIVILEGE							"READ"


/*Error modes*/
#define ERROR_MODE								1
#define WARNING_MODE							2
#define INFO_MODE								3

/* Constants */
#define CONST_FILE_WRITE                       "w"
#define DELIMITER_DOT							"."
#define DELIMITER_COMMA						","
#define DELIMITER_EQUAL						"="
#define DELIMITER_COLON						":"
#define DELIMITER_SPACE						' '
#define CHAR_ARRAY_INITIAL						{'\0'}


#define DT_STRING_VECTOR std::vector<std::string>

/* custom Error codes*/

#define ERRORBASE												9191000			/* 9191000 series currently used by other implementations */
#define ITEMERROR												100
#define BOMERROR												200
#define ECMERROR												300
#define PROJECTERROR											400
#define WFERROR													500
#define GENERROR												800
#define RCERROR													920
#define CUSTOM_ERRORBASE										919000
#define RULEHANDLER_ERRORBASE                                   1200
#define ECM_CUSTOM_ERRORBASE                                    1500
#define PPAP_CUSTOM_ERRORBASE                                   1600
#define ErrGeneral												ERRORBASE + 899

#define USER_ERROR_NORMAL (EMH_USER_error_base + 2)

#define JCI_CANNOT_ALLOCATE_MEMORY								ERRORBASE + GENERROR + 1
#define ErrorCodeForNULL										ERRORBASE + GENERROR + 2
#define ErrorCodeForFile										ERRORBASE + GENERROR + 3
#define ErrorCodeForFILE_DOES_NOT_EXISTS						ERRORBASE + GENERROR + 4
#define ErrorCodeForIMPORT_FILE_DATASET_ERROR					ERRORBASE + GENERROR + 5
#define ErrorCodeForDATASET_TYPE_DOES_NOT_EXISTS				ERRORBASE + GENERROR + 6
#define ErrorCodeInvalidEmailTaskName							ERRORBASE + GENERROR + 7

//Readiness Check Related Macros
#define RC_SINGLEPART_CAT_VALIDATION							CUSTOM_ERRORBASE + RCERROR + 1
#define RC_ASSEMBLYPART_CAT_VALIDATION							CUSTOM_ERRORBASE + RCERROR + 2
#define RC_PROJECT_VALIDATION									CUSTOM_ERRORBASE + RCERROR + 3
#define RC_BOM_VALIDATION										CUSTOM_ERRORBASE + RCERROR + 4
#define RC_KIT_DESIGN_VALIDATION								CUSTOM_ERRORBASE + RCERROR + 5
#define RC_MANDATORY_VALIDATION									CUSTOM_ERRORBASE + RCERROR + 6
#define RC_DESIGNTYPE_VALIDATION								CUSTOM_ERRORBASE + RCERROR + 7
#define RC_STATUS_VALIDATION									CUSTOM_ERRORBASE + RCERROR + 8
#define RC_NOSTATUS_VALIDATION									CUSTOM_ERRORBASE + RCERROR + 9
#define RC_NOPARTCATEGORY_VALIDATION						    CUSTOM_ERRORBASE + RCERROR + 10
#define RC_ALTERNATE_ID_VALIDATION								CUSTOM_ERRORBASE + RCERROR + 61
#define RC_SUPPORT_DOC_VALIDATION								CUSTOM_ERRORBASE + RCERROR + 62
#define RC_EPRNOSTATUS_VALIDATION								CUSTOM_ERRORBASE + RCERROR + 63
#define RC_NO_VALID_CHILD                                       CUSTOM_ERRORBASE + RCERROR + 64
#define RC_INVALID_PART_FOR_STRUCTURE                           CUSTOM_ERRORBASE + RCERROR + 65
#define RC_STANDARD_PART_DESIGN_CHECK                           CUSTOM_ERRORBASE + RCERROR + 66
#define RC_CHILD_IS_OBSOLETE				                    CUSTOM_ERRORBASE + RCERROR + 67
#define RC_IS_ALTERNATE_PART				                    CUSTOM_ERRORBASE + RCERROR + 68
#define RC_INVALID_EFFECTIVITY							        CUSTOM_ERRORBASE + RCERROR + 69
#define RC_PROJECT_MISMATCH_ERROR                               CUSTOM_ERRORBASE + RCERROR + 70
#define RC_NO_VALID_CPP_PART                                    CUSTOM_ERRORBASE + RCERROR + 71
#define RC_IS_INVALID_EFFECTIVITY                               CUSTOM_ERRORBASE + RCERROR + 72
#define RC_NOVALID_PART_ATTACHED                                CUSTOM_ERRORBASE + RCERROR + 73
#define RC_NO_CAD_DATASET_ATTACHED                              CUSTOM_ERRORBASE + RCERROR + 74
#define RC_JTFILE_NOT_LATEST                                    CUSTOM_ERRORBASE + RCERROR + 75
#define RC_PDFFILE_NOT_LATEST                                   CUSTOM_ERRORBASE + RCERROR + 76
#define RC_NO_JTFILE_ATTACHED                                   CUSTOM_ERRORBASE + RCERROR + 77
#define RC_NO_PDFFILE_ATTACHED                                  CUSTOM_ERRORBASE + RCERROR + 78
#define RC_NO_QCHECKER_ATTACHED                                 CUSTOM_ERRORBASE + RCERROR + 79
#define RC_NO_CADMODEL_ATTACHED                                 CUSTOM_ERRORBASE + RCERROR + 80

//#define RC_NO_DESIGN_HAS_STATUS                                 CUSTOM_ERRORBASE + RCERROR + 82
//#define RC_3DDESIGN_NOT_ATTACHEDORSTATUSED                      CUSTOM_ERRORBASE + RCERROR + 83
//#define RC_3DDESIGN_HAS_INVALIDSTATUS                           CUSTOM_ERRORBASE + RCERROR + 84
//#define RC_MIRROREDPRIMARY_INVALIDSTATUS                        CUSTOM_ERRORBASE + RCERROR + 85
//#define RC_MIRROREDPRIMARY_ATTACHEDORSTATUSED                   CUSTOM_ERRORBASE + RCERROR + 86
//#define RC_MIRROREDSECONDARY_NOT_ATTACHED                       CUSTOM_ERRORBASE + RCERROR + 87
//#define RC_HANDEDPRIMARY_INVALIDSTATUS                          CUSTOM_ERRORBASE + RCERROR + 88
//#define RC_HANDEDPRIMARY_ATTACHEDORSTATUSED                     CUSTOM_ERRORBASE + RCERROR + 89
//#define RC_DEFORMEDPRIMARY_INVALIDSTATUS                        CUSTOM_ERRORBASE + RCERROR + 90
//#define RC_DEFORMEDPRIMARY_ATTACHEDORSTATUSED                   CUSTOM_ERRORBASE + RCERROR + 91

#define RC_DESIGN_ADDED_MULTIPLE_TIMES							CUSTOM_ERRORBASE + RULEHANDLER_ERRORBASE + 3
#define RC_IS_MINOR_REVISION_PART                               CUSTOM_ERRORBASE + RULEHANDLER_ERRORBASE + 4
#define RC_IS_MINOR_REVISION_DESIGN                             CUSTOM_ERRORBASE + RULEHANDLER_ERRORBASE + 5
#define RC_NO_DESIGN_HAS_STATUS                                 CUSTOM_ERRORBASE + RULEHANDLER_ERRORBASE + 6
#define RC_NO_CADASSEMBLY_ATTACHED                              CUSTOM_ERRORBASE + RULEHANDLER_ERRORBASE + 7
#define RC_3DDESIGN_NOT_ATTACHEDORSTATUSED                      CUSTOM_ERRORBASE + RULEHANDLER_ERRORBASE + 8
#define RC_3DDESIGN_HAS_INVALIDSTATUS                           CUSTOM_ERRORBASE + RULEHANDLER_ERRORBASE + 9
#define RC_MIRROREDPRIMARY_INVALIDSTATUS                        CUSTOM_ERRORBASE + RULEHANDLER_ERRORBASE + 10
#define RC_MIRROREDPRIMARY_ATTACHEDORSTATUSED                   CUSTOM_ERRORBASE + RULEHANDLER_ERRORBASE + 11
#define RC_MIRROREDSECONDARY_NOT_ATTACHED                       CUSTOM_ERRORBASE + RULEHANDLER_ERRORBASE + 12
#define RC_HANDEDPRIMARY_INVALIDSTATUS                          CUSTOM_ERRORBASE + RULEHANDLER_ERRORBASE + 13
#define RC_HANDEDPRIMARY_ATTACHEDORSTATUSED                     CUSTOM_ERRORBASE + RULEHANDLER_ERRORBASE + 14
#define RC_DEFORMEDPRIMARY_INVALIDSTATUS                        CUSTOM_ERRORBASE + RULEHANDLER_ERRORBASE + 15
#define RC_DEFORMEDPRIMARY_ATTACHEDORSTATUSED                   CUSTOM_ERRORBASE + RULEHANDLER_ERRORBASE + 16
#define RC_NOSTATUS_EPR                                         CUSTOM_ERRORBASE + RULEHANDLER_ERRORBASE + 17
#define RC_COWORKFLOWPROCESS                                    CUSTOM_ERRORBASE + RULEHANDLER_ERRORBASE + 18
#define RC_NO_USEDINPART_PWP					CUSTOM_ERRORBASE + RULEHANDLER_ERRORBASE + 19
#define RC_INVALID_ASSM_CHILD                                   CUSTOM_ERRORBASE + RULEHANDLER_ERRORBASE + 20

//Rule Handler Error Macros
#define ERROR_INVALID_STATUS                                    CUSTOM_ERRORBASE + ECM_CUSTOM_ERRORBASE + 3
#define ERROR_INVALID_STATUS_1                                  CUSTOM_ERRORBASE + ECM_CUSTOM_ERRORBASE + 4 
#define ERROR_DRALREADY_STATUS                                  CUSTOM_ERRORBASE + ECM_CUSTOM_ERRORBASE + 5
#define ERROR_PARTDESIGNALREADY_STATUS                          CUSTOM_ERRORBASE + ECM_CUSTOM_ERRORBASE + 6
#define ERROR_INWORKFLOW_PROCESS                                CUSTOM_ERRORBASE + ECM_CUSTOM_ERRORBASE + 7
#define WARNING_CANT_UPDATE_ACTIVEDA_REMOTE_PARTREV             CUSTOM_ERRORBASE + ECM_CUSTOM_ERRORBASE + 27

//MPL Rule Handler Errors
#define MPL_PROGRAM_CHECKED_OUT                                 CUSTOM_ERRORBASE + ECM_CUSTOM_ERRORBASE + 8
#define MPL_PROGRAM_CHECK_FOR_DELETE                            CUSTOM_ERRORBASE + ECM_CUSTOM_ERRORBASE + 9
#define MPL_PROGRAM_AWARD_BOM_STATUS                            CUSTOM_ERRORBASE + ECM_CUSTOM_ERRORBASE + 18
#define MPL_PROGRAM_NOT_HAVING_BVR                              CUSTOM_ERRORBASE + ECM_CUSTOM_ERRORBASE + 19
#define DOC_MGT_REQD_STATUS                                     CUSTOM_ERRORBASE + ECM_CUSTOM_ERRORBASE + 20
#define MPL_DOC_ALREADY_EXIST                                   CUSTOM_ERRORBASE + ECM_CUSTOM_ERRORBASE + 21
#define MPL_AWARDWF_NOPROJECTERROR                              CUSTOM_ERRORBASE + ECM_CUSTOM_ERRORBASE + 22
#define DOC_MGT_REQD_ACCESS                                     CUSTOM_ERRORBASE + ECM_CUSTOM_ERRORBASE + 23
#define MPL_AWARDWF_PROJECTERROR                                CUSTOM_ERRORBASE + ECM_CUSTOM_ERRORBASE + 25

//Item ID Regsiter/Publish Error Macros
#define ERROR_ODS_SERVICE_DOWN					CUSTOM_ERRORBASE + ECM_CUSTOM_ERRORBASE + 10
#define ERROR_ID_REGISTERED					CUSTOM_ERRORBASE + ECM_CUSTOM_ERRORBASE + 11
#define ERROR_ID_PUBLISHED					CUSTOM_ERRORBASE + ECM_CUSTOM_ERRORBASE + 12
#define ERROR_ID_NOT_REGISTERED					CUSTOM_ERRORBASE + ECM_CUSTOM_ERRORBASE + 13
#define ERROR_ID_NOT_PUBLISHED					CUSTOM_ERRORBASE + ECM_CUSTOM_ERRORBASE + 14

//PPAP related Errors
#define ERROR_PROGRAM_WRITE_ACCESS								CUSTOM_ERRORBASE + PPAP_CUSTOM_ERRORBASE + 1
#define ERROR_PPAP_TEMPLATE_CANT_FIND							CUSTOM_ERRORBASE + PPAP_CUSTOM_ERRORBASE + 2
#define ERROR_PPAP_PRG_PKG_CANT_FIND							CUSTOM_ERRORBASE + PPAP_CUSTOM_ERRORBASE + 3
#define ERROR_PPAP_PRT_PKG_CREATE_FAILED						CUSTOM_ERRORBASE + PPAP_CUSTOM_ERRORBASE + 4
#define ERROR_PPAP_PRT_PKG_CREATE_FAILED_BAD_DATE				CUSTOM_ERRORBASE + PPAP_CUSTOM_ERRORBASE + 5
#define ERROR_PPAP_PSW_OVERALL_DELIV_CANT_BE_APPROVED  				    CUSTOM_ERRORBASE + PPAP_CUSTOM_ERRORBASE + 7
#define ERROR_PPAP_PSW_OVERALL_DELIV_CANT_BE_INTERIM_APPROVED  		    CUSTOM_ERRORBASE + PPAP_CUSTOM_ERRORBASE + 8
#define ERROR_PPAP_OVERALL_DELIV_CANT_BE_APPROVED  				CUSTOM_ERRORBASE + PPAP_CUSTOM_ERRORBASE + 9
#define ERROR_PPAP_OVERALL_DELIV_CANT_BE_INTERIM_APPROVED  		CUSTOM_ERRORBASE + PPAP_CUSTOM_ERRORBASE + 10
#define ERROR_PPAP_PRT_PKG_INVALID_STAGE  				        CUSTOM_ERRORBASE + PPAP_CUSTOM_ERRORBASE + 11
#define ERROR_PPAP_NA_NOTALLOWED_IN_PSW  				    CUSTOM_ERRORBASE + PPAP_CUSTOM_ERRORBASE + 12

# define CATDRAWING					"CATDrawing"
# define CATPART					"CATPart"
# define CATPRODUCT					"CATProduct"
# define UGMASTER					"UGMASTER"
# define UGPART                     "UGPART"
# define PDF    					"PDF"
# define DIRECTMODEL    			"DirectModel"
# define NG_QCHECKER                "Ng4_QChecker"
# define NG4_DESIGNREVISION			"Ng4_DesignRevision"
# define SINGLE_PART				"Single Part"
# define KIT_PART					"Kit"
# define ASSEMBLY_PART				"Assembly Part"
# define RAW_MATERIAL_PART			"Raw Material"
# define PHANTOM_PART				"Phantom" 
# define SINGLE						"Single"
# define KIT						"Kit"
# define ASSEMBLY					"Assembly"
# define RAW_MATERIAL				"Raw Material"
# define PHANTOM					"Phantom" 
# define NG4_NONERPDSGNREVISION     "Ng4_Non_ERP_DsgnRevision"
# define IMANSPECIFICATION			"IMAN_specification"
# define NG4_LIFECYCLESTATE			"ng4_life_cycle_state"
# define DESIGN_APPROVED			"Design Approved"
# define FROZEN						"Frozen"
# define CLOSED						"Closed"
# define READY_FOR_REVIEW			"Ready For Review"
# define REJECTED					"Rejected"
# define RELATION_2DTO3D			"catiaV5_DWGLink"
# define PREF_NG4_VALID_ROLES		"Ng4_Project_Valid_Roles"
# define PROP_OWNING_PROJECT		"owning_project"
# define PROP_PROJECT_TEAM			"project_team"
# define REV_RULE_PRECISE_ONLY		"project_team"
# define IN_REVIEW					"In Review"
# define PROP_BL_REVISION			"bl_revision"
# define PROP_RELEASE_STATUS_LIST	"release_status_list"
# define  RELATION_IMAN_MASTER_FORM "IMAN_master_form"
# define RELATION_REPRESENTEDBY		"TC_Is_Represented_By"
# define UOM_LEGACY_EA  			"LegacyEA"
# define PART_UOM_ATTRIBUTE         "uom_tag"
# define NG4_ERPRELEASED            "Ng4_ERPReleased"
# define NG4_TECHNICALRELEASE       "Ng4_TechnicalRelease"
# define ERPRELEASED_DISPLAYNAME    "Released"
# define TECHNICALRELEASE_DISPLAYNAME   "Engineering Approved"
# define PPAP_CLONE_TEMPLATE         "Product.Template.Cloning"
# define CONST_BVR                   "BOMView Revision"
# define PPAP_DELIV_PSW_NAME         "Part Submission Warrant (PSW)"
# define PPAP_DELIV_OverallProduct_NAME         "0_Overall Product & Process Approval"
# define PPAP_DELIV_CLASS_NAME       "Ng4_PPAP_DelivRevision"
# define READY                       "Ready"
# define SENT                        "Sent"
# define WARNINGS                    "Warnings"
# define ERRORS                      "Errors"


# define PREF_DR_READINESS                    "PerformReadinessCheck_Pref_DR" 
# define PREF_DRNX_READINESS                  "PerformReadinessCheck_Pref_DRNX"
# define PREF_EPR_READINESS                   "ReadinessCheck-EPR-Pref" 
# define PREF_CO_READINESS                    "ReadinessCheck-CO-Pref"
# define PREF_PART_READINESS                  "ReadinessCheck-Part-Pref"
# define PREF_ASSM_PART_READINESS             "ReadinessCheck-AssemblyPart-Pref"
# define PREF_ODSSITENAME					  "ODS_site"
# define PREF_MAIL_NOTIFY_CHANGE			  "Ng4_Mail_Notify_Change_Types"
# define PREF_MAIL_NOTIFY_SEND_ADDRESS		  "Ng4_Mail_Notify_Send_Address"
# define PREF_OPENPDM_PART_CONNECTION_STRING  "Ng4_OPENPDM_Part_ConnectionString"
# define PREF_OPENPDM_PART_HOSTNAME_PORT  	  "Ng4_OPENPDM_Part_HostName_Port"
# define PREF_OPENPDM_PART_HOSTNAME 		  "Ng4_OPENPDM_Part_HostName"
# define PREF_OPENPDM_DATAMIGRATION_GROUP 	  "AE-OPDM-EPIC2Way"


//Relation Definition
#define CMSOLUTIONITEM                       "CMHasSolutionItem"
#define IMANSPECIFICATIONS                   "IMAN_specification"
#define IMANREFERENCES                       "IMAN_reference"
#define READINESSCHECKERRORS                 "Ng4_ReadinessCheckErrors"
#define VALIDATIONFORMREL                    "Ng4_ValidationFormRel"
#define CATIAV5MML                           "catiaV5_MML"
#define VALIDATIONREPORT                     "Ng4_ValidationReport"
#define MIRROREDLINK                         "Ng4_MirroredLink"
#define HANDEDLINK                           "Ng4_HandedLink"
#define DEFORMEDLINK                         "Ng4_DeformedLink"

//Error Report Type
#define TEXT_TYPE                            "Text"
#define HTML_TYPE                            "HTML"

//Attribute Definition
//#define ATTR_OBJECT_STRING                  "object_string"
#define ATTR_DESIGN_ID                      "ng4_DesignId"
#define ATTR_DESIGN_TAGS                    "ng4_ObjectTag"
#define ATTR_NO_ISSUES_B                    "ng4_NoIssues"
#define ATTR_CHILD_NOTSTATUSED_B            "ng4_ChildDesignNotStatused"
#define ATTR_3D_NOTSTATUSED_B               "ng4_3DDesignNotStatused"
#define ATTR_CAD_ATTACHED_B                 "ng4_CADDatasetAttached"
#define ATTR_NON_CAD_ATTACHED_B             "ng4_NonCADDatasetAttached"
#define ATTR_MAJOR_REVISION_B               "ng4_MajorRevision"
#define ATTR_SAME_PROJECT_B                 "ng4_SameProject"
#define ATTR_WEIGHTFORM_ATTACHED_B          "ng4_WeightFormsAttached"
#define ATTR_REQ_ATTRIBUTES_B               "ng4_ReqAttributes"
#define ATTR_ERROR_REPORT_TAG               "ng4_ErrorReport"
#define ATTR_DESIGN_ERROR_INFO              "ng4_DesignErrorInfo"
#define ATTR_CHILD_ERROR_INFO               "ng4_ChildErrorInfo"
#define ATTR_CHILD_NOT_ATTACHED_B           "ng4_ChildDesignNotAttached"
#define ATTR_3D_NOT_ATTACHED_B              "ng4_3DDesignNotAttached"
#define ATTR_CAD_OWNERSHIP                  "ng4_CAD_Ownership"
#define ATTR_DR_READINESS                   "ng4_DRReadiness"
#define ATTR_DR_TYPE                        "ng4_DRType"
#define ATTR_BL_LINE_OBJECT                 "bl_line_object"
#define ATTR_DRPR_ID                        "ng4_DRPRId"
#define ATTR_OWNING_PROJECT                 "owning_project"
#define ATTR_LAST_RELEASE                   "last_release_status"
#define ATTR_PR_READINESS                   "ng4_PRReadiness"
#define ATTR_DESIGN_REQ                     "is_designrequired"
#define ATTR_ISMIRROR_SlAVE                 "ng4_isMirrorSlave"
#define ATTR_MIRROR_MASTER                  "ng4_MirrorMaster"
#define ATTR_ISHANDED_SLAVE                 "ng4_isHandedSlave"
#define ATTR_HANDED_MASTER                  "ng4_HandedMaster"
#define ATTR_ISDEFORMED                     "ng4_isDeformed"
#define ATTR_DEFORMED_MASTER                "ng4_DeformedMaster"
#define ATTR_PERFORM_SIGNOFFS               "perform-signoffs"
#define ATTR_SIGNOFF_ATTACHMENTS            "signoff_attachments"
#define ATTR_COMMENTS                       "comments"
#define ATTR_OWNING_USER                    "owning_user"
#define ATTR_PART_CATEGORY					"ng4_PartCategory"
#define ATTR_OWNING_SYSTEM                  "ng4_OwningSystem"
#define ATTR_EPIC_SYNC_ACTIVITY				"ng4_EPIC_sync_activity"
#define ATTR_HASACTIVEDA                    "ng4_HasActiveDA"
#define RELATION_TC_REPRESENTED_BY  "TC_Is_Represented_By"
#define PROGRAM_TYPE				"Ng4_Program"
#define PWP_TYPE					"Ng4_PWP"
#define MASTER_PROGRAM_TYPE			"Ng4_MasterPrg"
#define Part_TYPE					"Ng4_Part"
#define Part_REV_TYPE				"Ng4_PartRevision"
#define ERP_DESIGN_REV_TYPE			"Ng4_DesignRevision"
#define ERP_Design_TYPE				"Ng4_Design"
#define EXT_Design_TYPE				"Ng4_Ext_Dsgn"
#define EXT_DESIGN_REV_TYPE			"Ng4_Ext_DsgnRevision"
#define NON_ERP_Design_TYPE			"Ng4_Non_ERP_Dsgn"
#define NON_ERP_Design_REV_TYPE		"Ng4_Non_ERP_DsgnRevision"
#define ATT_ITEM_ID					"item_id"
#define ATT_OBJECT_TYPE				"object_type"
#define ATT_OWNING_GROUP			"owning_group"
#define ATT_OWNING_GROUP_NAME		"name"
#define ATT_OWNING_PROJECT			"owning_project"
#define ATT_OWNING_PROJECT_NAME		"project_id"
#define DATASET_TYPE				"Dataset"
#define Form_TYPE					"Form"
/*********************************************/

/* For Relation */
# define REL_REPRESENTED_BY						"TC_Is_Represented_By"
# define REL_HAS_PARTICIPANT					"HasParticipant"
# define REL_IS_REPRESENTED_PRIMARY				"TC_Primary_Design_Representation"
# define REL_IMPLEMENTS							"CMImplements"
# define REL_IMPACTEDITEM						"CMHasImpactedItem"
# define REL_HAS_PROBLEMITEM					"CMHasProblemItem"
# define REL_HAS_SOLUTION_ITEM					"CMHasSolutionItem"
# define REL_DRAWING_TO_DATASET					"IMAN_specification"
# define REL_MASS_FORM_TO_DATASET				"IMAN_external_object_link"
# define REL_ITEM_REV_TO_BOM_REV				"structure_revisions"
# define REL_ALTERNATIVES						"Ng4_Alternatives"
# define REL_PPAP_PART							"Ng4_PPAP_PartPkg_Reln"
# define REL_BOM_VIEW							"bom_view_tags"
# define REL_BVR								"structure_revisions"
# define PROJ_TO_PROG_REL 			            "Ng4_ProgToProject"

/* For Class*/

# define CLASS_DATASET							"Dataset"

/* For Object Types*/

# define TYPE_WORKSPACE_OBJECT					"WorkspaceObject"
# define TYPE_CHANGESPECIALIST1					"ChangeSpecialist1"
# define TYPE_DATASET							"Dataset"
# define CHANGE_SPECIALIST1					    "$CHANGE_SPECIALIST1"
# define CHANGE_IMPLEMENTATION_BOARD			"$CHANGE_IMPLEMENTATION_BOARD"
# define CHANGE_REVIEW_BOARD					"$CHANGE_REVIEW_BOARD"
# define TYPE_JOB								"EPMJob"
# define TYPE_TASK								"EPMTask"
# define TYPE_ITEM_REVISION						"ItemRevision"
# define TYPE_AA_TEST_NAME						"object_name"
# define PROCESSOWNER                           "$PROCESSOWNER"
# define TYPE_CHANGE_NOTICE_REVISION			"ChangeNoticeRevision"
# define TYPE_PDF								"PDF"
# define CHANGE_SPECIALIST					    "ChangeSpecialist1"
# define APPROVER								"$APPROVER"
# define CHANGE_IMP_BOARD						"ChangeImplementationBoard"
# define CHANGE_REV_BOARD					    "ChangeReviewBoard"
# define USER_ROLE_DBA							"DBA"
# define TYPE_REQUESTOR							"Requestor"
# define TYPE_PROBLEMREPORT_REVISON				"ProblemReportRevision"
# define REQUESTOR								"$REQUESTOR"
# define TYPE_PDF_Reference						"PDF_Reference"
# define TYPE_DA_REVISION                       "Ng4_DARevision"
# define TYPE_CN_REVISION						"Ng4_ChangeNoticeRevision"
# define TYPE_CHANGEREQ_REVISION				"Ng4_CRRevision"
# define TYPE_PR_REVISION						"Ng4_PRRevision"
# define TYPE_EPR_REVISION						"Ng4_EPRRevision"
# define TYPE_ROC_REVISION						"Ng4_ROCRevision"
# define TYPE_NONERPDESIGN			            "Non-ERP Design"
# define TYPE_ERPDESIGN                         "ERP Design"
# define TYPE_NG4_PART							"Ng4_Part"
# define TYPE_NG4_PART_REVISION					"Ng4_PartRevision"
# define TYPE_PART                              "Part"
# define TYPE_PROGRAM_REVISION                  "Ng4_MasterPrgRevision"
# define TYPE_NG4_PWP_REVISION					"Ng4_PWPRevision"
# define PREF_NAME_ATTRIBUTE                    "preference_name"
# define PREF_MAP_READINESSPASS_ATTRIBUTE    "ReadinessPassAttribute"
# define PREF_REVISION_RULE						"TC_config_rule_name"

/* For the attributes*/
# define ATTR_OBJECT_TYPE						"object_type"
# define ATTR_SELF_MAJORREV						"ng4_isSelforMajorRev"
# define ATTR_DATE_RELEASED						"date_released"
# define ATTR_RELEASE_STATUS_LIST				"release_status_list"
# define ATTR_OBJECT_NAME						"object_name"
# define ATTR_ASSIGNEE							"assignee"
# define ATTR_OBJECT_ID							"item_id"
# define ATTR_OBJECT_REV_ID						"item_revision_id"
# define ATTR_JOB_NAME							"job_name"
# define ATTR_OBJECT_DESC						"object_desc"
# define ATTR_COMMENTS						    "comments"
# define ATTR_PERFORM_SIGNOFFS					"perform-signoffs"
# define ATTR_SIGNOFF_ATTACHMENTS				"signoff_attachments"
# define ATTR_VIEW                              "view"
# define ATTR_LAST_MODIFICATION_DATE			"last_mod_date"
# define ATTR_CREATION_DATE						"creation_date"
# define ATTR_OBJECT_STRING						"object_string"
# define ATTR_CLOSURE							"CMClosure"
# define ATTR_DISPOSITION						"CMDisposition"
# define ATTR_MATURITY							"CMMaturity"
# define ATTR_CURRENT_ID						"current_id"
# define ATTR_CURRENT_REVISION_ID				"current_revision_id"
# define ATTR_PROCESS_STAGE_LIST				"process_stage_list"
# define ATTR_PROJECT_ID						"project_ids"
# define ATTR_ED_PRIMARYOBJECTSARRAY			"ng4_ED_PrimaryObjects_Array"
# define ATTR_ND_PRIMARYOBJECTSARRAY			"ng4_ND_PrimaryObjects_Array"
# define ATTR_DR_STATE							"ng4_DRState"
# define ATTR_CN_STATE							"ng4_CNState"
# define ATTR_ITEMS_TAG							"items_tag"
# define ATTR_NG4_CNREADINESS					"ng4_CNReadiness"
# define ATTR_NG4_EPRREADINESS					"ng4_EPRReadiness"
# define ATTR_RELEASE_STATUS_LIST                                         "release_status_list"
# define ATTR_DATE_RELEASED                                            "date_released"
# define ATTR_CHILD_TASK_TAGLIST                "child_task_taglist"
# define ATTR_PPAP_LEVEL						"ng4_ppap_level"
# define ATTR_PPAP_SAQE_AQE_ROLE				"ng4_ppap_saqe_aqe_role"
# define ATTR_PRT_STATUS_IE						"ng4_prt_status_ie"
# define ATTR_PPAP_SEAT							"ng4_ppap_seat"
# define ATTR_PPAP_DWG_NO						"ng4_ppap_dwg_no"
# define ATTR_PPAP_DWG_ENG_LEVEL				"ng4_ppap_dwgenglvl"
# define ATTR_PPAP_RQST_DATE					"ng4_ppap_rqst_date"
# define ATTR_PPAP_SUPPLIER2					"ng4_ppap_suplr2"
# define ATTR_PPAP_SAQE_AQE						"ng4_ppap_jci_cntc"
# define ATTR_PPAP_COMMODITY					"ng4_ppap_commodity"
# define ATTR_AWARD_BOM_STATUS					"ng4_AwardBOMStatus"
# define ATTR_OVERRIDE      					"ng4_AwardOverrideStatus"
# define ATTR_PRG_MTX_ENABLED                                   "ng4_MetrixEnabled"


/* For WorkFlow Attributes*/
# define WF_ATTR_STATUS							"status"
# define WF_ATTR_FROM							"from"
# define WF_ATTR_TO								"to"
# define WF_ATTR_OBJECTTYPE						"objecttype"
# define WF_ATTR_SECONDERYITEMREVTYPE			"secondary_item_rev"
# define WF_ATTR_RELATIONTYPE					"relation"
# define WF_ATTR_PRIMARYITEMREVTYPE				"primary_item_rev"
# define WF_ATTR_TARGETOBJECTTYPE				"target_type"
# define WF_ATTR_REFERENCEDOBJECTTYPE			"reference_type"
# define WF_ATTR_GETLATESTREVISION				"getlatestrevision"
# define WF_ATTR_STATUSDISALLOW				    "status_disallow"
# define WF_ATTR_RELEASE_STATUS				    "release_status"
# define WF_ATTR_ATTACH_TYPE				    "att_type"
# define WF_ATTR_OBJECT_ATTACH_TO               "attached_to"
# define WF_ATTR_GETSUBTASKNAME                 "sub_task_name"
# define WF_ATTR_PROPERTY                       "property_internal_name"
# define WF_ATTR_RECIPIENT						"recipient"
# define WF_ATTR_SUBJECT						"subject"
# define WF_ATTR_EMAILTYPE						"emailtype"
# define WF_CUSTOM_DISP_NAME                    "custdispname"
# define WF_ATTR_COMMENT_TASK					"commenttask"
# define WF_ATTR_NO_OF_COMMENTS					"no_of_comments"
# define WF_ATTR_VALUES							"values"
# define WF_ATTR_TARGETITEMTYPE					"target_item"
# define WF_ATTR_RELATIONSHIP_TYPE				"relationship_type"
# define WF_ATTR_OBJECTINTERNALNAME				"objecttype_internal_name"
# define WF_ATTR_PRIMARY_ATTACH_TYPE			"primary_att"
# define WF_ATTR_PRIMARY_ITEM_TYPE				"primary_type"
# define WF_ATTR_SECONDARY_ATTACH_TYPE			"secondary_att"
# define WF_ATTR_SECONDARY_ITEM_TYPE			"secondary_type"
# define WF_ATTR_REFERENCE						"reference"
# define WF_ATTR_TARGET							"target"
# define WF_ATTR_TASK_STATE                     "task_state"
# define WF_ATTR_VAL                            "attrval"
# define WF_ATTR_CHANGE_NOTIFICATION_TYPE       "change_notification_type"
# define WF_ATTR_SETACTIVEDA                    "SetActiveDA"
# define WF_STATUS_ENGINEERING_APPROVED         "Ng4_TechnicalRelease"
# define WF_STATUS_RELEASED                     "Ng4_ERPReleased"
# define WF_STATUS_SELECTED                     "Ng4_Selected"
# define WF_STATUS_CLOSED                       "Ng4_Closed"
# define WF_TASK_STATE_COMPLETED                "Completed"
# define WF_TASK_STATE_ABORTED                  "Aborted"
# define WF_STATUS_APPROVED                     "Approved"
# define WF_STATUS_INTERIM_APPROVED		"Interim Approved"
# define WF_STATUS_NA                           "NA"
# define WF_PPAP_PART_APPROVED                  "PPAP Part Pkg - Approved"
# define WF_PPAP_PART_INTERIM_APPROVED          "PPAP Part Pkg - Interim Approved"
# define WF_PPAP_PART_REJECTED                  "PPAP Part Pkg - Rejected"
# define WF_PPAP_PART_REM_STATUS                "PPAP Part Pkg - Remove Status"
# define WF_PPAP_PART_NA                        "PPAP Part Pkg - NA"
#define  WF_ARG_PSW_PPAP_DELIV_CHK_STATUS       "applyOnPSWPPAPDeliv"
#define  WF_ARG_OVERALL_PPAP_DELIV_CHK_STATUS   "applyOnOverallPPAPDeliv"
#define  WF_ARG_PPAP_STATUS_APPLIED             "statusApplied"
# define WF_STATUS_OBSOLETE                     "Obsolete"
# define WF_STATUS_READYFORREVIEW               "Ng4_ReadyforReview"
# define WF_STATUS_LEGACY_CLOSED                "Ng4_Legacy_Closed"
# define WF_STATUS_AWARD_READY			"Ng4_AwardReady"
# define WF_STATUS_AWARD			"Ng4_Award"
# define WF_STATUS_AWARD_SUBMITTED		"Submitted for Award"
# define WF_OWNING_SYSTEM		        "owning_system"

/* For BOMLine Attributes*/
# define BOM_ATTR_ITEM_TYPE						"bl_item_object_type"
# define BOM_ATTR_LINE_TAG						"bl_line_object"
# define BOM_ATTR_ASSOCIATE_DR_STATUS		    "ng4_bl_associated_dr_status"
# define BOM_ATTR_ASSOCIATE_DR_STATE		    "ng4_bl_associated_dr_state"
# define BOM_ATTR_ASSOCIATE_DR					"ng4_bl_associated_dr"
# define REV_RULE_LATEST_WORKING                "Latest Working"
# define CONST_BOMLINE							"BOMLine"
# define BOM_ATTR_LAST_REL_STAT                 "bl_rev_last_release_status"
# define BOM_ATTR_ITEM_OBJ_NAME                 "bl_item_object_name"

/* For Attributes values*/
# define VALUE_OPEN								"Open"
# define VALUE_NONE								"None"
# define VALUE_ELABORATING						"Elaborating"
# define VALUE_CREATE_FORM						"Create_form"
# define VALUE_SELECTED							"Selected"
# define VALUE_PRIMARY							"Base"
# define VALUE_ALL								"All"
# define VALUE_TEMPLATE_LOG_FILE_NAME			"_Tmpltlog.txt"
# define VALUE_REPLACE							"Replace"
# define VALUE_ADD								"Add"
# define VALUE_REMOVE							"Remove"
# define VALUE_REVIEWING						"Reviewing"
# define VALUE_INVESTIGATE						"Investigate"
# define VALUE_TMP								"TMP"
# define VALUE_TRUE								"True"
# define VALUE_FALSE							"False"
# define VALUE_PASSED							"Passed"
# define VALUE_FAILED							"Failed"
# define VALUE_PART_RELEASEPARTIAL              "Part Release Partial"
# define VALUE_EMPTY							"Empty"
# define VALUE_YES							"Yes"

/* For Attributes types*/
# define TYPE_VALUE_LOGICAL						"Logical"
# define TYPE_VALUE_STRING						"String"

/* For Participant type display names*/
# define CIB_DISPLAY_NAME						"Change Implementation Board"
# define CRB_DISPLAY_NAME						"Change Review Board"

/* Preference Function Names */
#define TRAVERSE_RELATION_FUNCNAME           "TraverseRelation().FindOtherSideObjects()"


/*RevisonOrderSeqCorrection function*/
#define PARSING_LINE_POSITION_ZERO				0
#define PARSING_LINE_POSITION_ONE				1
#define PARSING_LINE_POSITION_TWO				2
#define PARSING_LINE_POSITION_THREE				3
#define PARSING_LINE_POSITION_FOUR				4

/*Constants For Custom Dispatcher Services*/
# define DISP_PROVIDER_NAME 					"SIEMENS"
# define DISP_METRIXTRANSFER_NAME                               "metrixtransfer"
# define DISP_TYPE                                              "TRANSLATION"

/*Constants For EPIC integration*/
# define ACTION_UPDATE 					"update"
# define ACTION_REVISE 					"revise"

#endif

